package com.x.sys.dao;

import java.util.List;



import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.x.sys.entity.Admin;

/**
 * 日志模块数据层接口
 * */

@Mapper
public interface AdminDao {
	int getRowCount(String username);
	 
	
	/**
	 * 禁用或启用用户信息
	 * */
	@Update("update admin_list set valid=#{valid},modifiedAdmin=#{modifiedAdmin},modifidTime=now() where id=#{id}")
	int validById(Integer id ,Integer valid, String modifiedAdmin);
	
	/**
	  * 基于条件查询当前页的记录
	  * @param username 查询条件
	  * @param startIndex 起始位置(当前页的起始位置)
	  * @param pageSize 页面大小(每页最多显示多少条记录)
	  * @return 查询到的当前的日志记录
	  */
	
	List<Admin> findPageObjects(String username,
			 Integer startIndex,Integer pageSize);
	
	@Select("select * from admin_list where A_name=#{username}")
	Admin findAdminByUserName(String username);
	
	/**基于多个id删除管理列表信息*/
	int deleteObjects(@Param("ids") Integer...ids);
	
	/**在AdminDao接口中添加用于实现用户信息持久化的方法*/
	void insertObject(Admin entity);
	
	/** 定义基于用户id去查询用户相关信息的方法（用于修改）*/ 
	@Select("select * from admin_list where  A_id=#{id}")
	List<Admin> findObjectById(Integer id);
	
	
	/**
	 * 更新用户自身信息
	 * @param entity
	 * @return
	 */
	@Update("update admin_list set	A_name=#{A_name},A_password=#{A_password},A_role=#{A_role},A_email=#{A_email},A_mobile=#{A_mobile} where A_id=#{A_id}") 
	void updateObject(Admin entity);
	
}

